home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
gfx
/
opal
/
OpalBrot.lzh
/
OpalBrot.doc
< prev
next >
Wrap
Text File
|
1993-02-23
|
14KB
|
279 lines
/* OpalBrot.doc V2.00 Feb 23, 1993
Jim Boros, Borotec, Inc.
*/
INTRO:
OpalBrot is a fractal plotting program specifically designed for
use on an Amiga equipped with an OpalVision display module. It came
to be as during a recent major snowstorm in Cleveland, I was looking
at the OpalVision developer files, experimenting and looking for some
'way cool' graphics hack to show off the setup. I came upon a file
called "render" which was the code to render to OpalVision (OV) from
a 3-D program. I liked the test of it, though it does jump unless
rendering to a real screen viewing OpalVision only. I had played
around with MandelBrot equations earlier, so I took the basic part
out of it and tied it into the renderer. It worked. A minute after
starting it, I saw the full Mandelbrot pattern appear in fine detail
in the glory of OpalVision's 24 bit display. This program and source
has been released as "obrotold.lzh".
Encouraged by this, and somewhat dissatisfied with other fractal
programs (don't support '882, too few colors, etc), I decided to make
this a more usable program, namely by allowing zooming into an area
of choice, and providing several options, and saving preset points
and pictures. This took considerable effort but is worth it. Here
is the result thereof. It is by no means complete, many more features
will be added.
I won't get into fractal theory, suffice it to say that it makes
graphics that often mimic nature. They are not square or rectangular,
but not utterly random either, containing some type of order. Detail
is almost infinite, as you can zoom in to very file detain, in the
order of millions, and still get unique and detailed views. The scale
could be almost like zooming from an entire view of a large nation
(say USA, Australia, Canada, Russia, China, etc) down to an 8x10"
( 200 X 300mm if youre in the other four nations) area or even smaller.
Watch the Magnification feature and see. Explore freely, save interesting
coordinates on disk for future reference. There are many pieces of
eye candy to be gobbled up here.
REQUIREMENTS:
----> IMPORTANT: MAKE SURE YOU HAVE THE FOLLOWING BEFORE USING:
AMIGA 2000,3000 OR 4000 computer with
OPALVISION display adapter
68020 or better CPU.
68881 or 68882 FPU ( or full blown 68040 chip).
WorkBench 2.0 and KickStart V37 or higher.
If you do not have any of these, obtain them. I may make a version
with lesser CPU and FPU requirements for a nominal fee. This program
is designed for maximum perfomance. Do NOT try to run this without
the 68020 and 881, it WILL GURU.
OpalBrot does NOT need alot of memory or a hard drive. 1Meg each
of chip and fast should suffice.
DESCRIPTION:
OpalBrot opens up two screens. First, it opens an Hi-Res interlaced
Intuition screen on the Amiga with some overscan, and then opens an 8
plane, overscanned, interlaced, Hi-Res OpalVision screen under the
Intuition screen. This is for using the mouse for zooming. The user
interface is not real colorful as yet, but the results of the rendering
will make up for this. An 8 bit screen has been chosen since there
are relatively few times over 256 colors will be beneficial. The screen
will be a real screen in chip ram normally (another reason for 8 planes),
and consumes approximately 350K of chip RAM. It will open in fast RAM
as a virtual screen if not even that is available(haven't had that happen
yet even with 1 Meg chip RAM).
Each color represents the number of iterations of a comples function.
This number is limited by the maximum iterations parameter set with F1
thru F10 keys. There can only be as many colors as iterations. And
256 is a good maximum, a lower number is good for previewing and larger
for detail in deep areas. If the maximum is reached for any pixel it
will be rendered black(color 0). Notice that rendering is slower where
there are large areas of black pixels. It runs in a raster scan mode,
similar to receiving pictures from space probes.
The math functions are FPU instructions for 68881 or 68882 chips,
which can be over 200 times as fast as a stock Amiga 2000. The precision
is double, and this will retain accuracy at very high magnifications. I
have not noticed much speed gain using the shorter float types.
The graphics resolution is the maximum displayable on OpalVision, at
least in NTSC, at 736 X 476. At this, an average render takes about ten
minutes ( I remember 45 minutes for a 320X200 on my A1000). There is a
mode to render faster, 16X in fact, this renders every fourth pixel in
X and Y, and copies to other pixels, resulting similar to a 4X4 mosaic.
This mode is good for navigating and quick checking. Use full resolution
when confident of settings for a final draft.
There are currently three fractal modes. Mandelbrot, Julia and
"Monster". Julia uses the seed variables, this is set based
on the full scale mandelbrot set. Seeding in the colorful areas gives
best results, while seeding in the outlining areas gives sparse, wispy
apperance. The default values will yield decent results so seeding is
not absolutely necessary. Monster gives the apperance of reptile or
dragon wings. It uses the X seed value. Too low gives a black screen.
The status display is a rectangle at the bottom of the overlay
screen. Hitting S or doing most operations will display the status and
parameters of the fractal. Error and other messages are displayed here
plus some basic help. Watch this area.
USING OPALBROT:
---- IF YOU DON'T HAVE AT LEAST A 68020 & MATH CHIP STOP NOW -----------
STARTING:
OK enough details, lets get going. OpalBrot can be started from CLI
by typing "opalbrot", or from WorkBench by hitting the icon. NO parameters
are put on the command line. In Workbench, a small window is added
for some message output at startup on the Workbench screen. The user
may need to close this on exit.
RENDERING:
You will see a dark screen with a message. Most all operations are
initiated with a menu or keyboard. No gadgets. To get started, pick
either Render Full Res or Render 1/4 Res. You'll see the full mandelbrot
set in about 10 min/45 sec respectively. To zoom in, select zoom from
menu, place the mouse on upper left corner, press button, drag to
lower right corner and release. Note that the width and height must
be 8 pixels and the direction is important else an error message will
pop up. Hit any key if you change your mind.
Selecting stop render will stop it at the end of the line, as will
hitting 'P' on the keyboard. Rendering may be resumed at this point
by starting again, or resetting Y to start from scratch. If a zoom or
shift is done, it will start from scratch. It may take several seconds
to stop if a complex area is being done. This is a trade off as constant
checking will slow down rendering.
After a few seconds of rendering, the Amiga display will disappear,
and the OpalVision display appear. Rendering will be smoother if the
chip ram screen is opened successfully. When rendering is complete, the Amiga overlay will reappear and tell you its
done and how long it took. Hit 'D' to view in Opal Only, and 'F' to
return to overlay.
SAVING:
Options are in the menu to save and load presets. These are the points
and parameters at which rendering takes place, and NOT the picture. If
you find a really neat area, save it, and load another time to return.
There is no limit to the number that may be saved. These options are
on the left menu and should be self explanatory. These files end with
.obp and are only a few hundred bytes long.
The screen can be saved by saving as IFF. This generates an IFF
palette mapped 8 plane picture. It should load well into OpalPaint,
or even Deluxe Paint AGA. These files are relatively compact, usually
just over 100K. JPEG is NOT recommended at this time, though implimented.
JPEG does not perform 8 bit palette maps well, and the resulting file
is often larger than the IFF file with some loss of quality. The
quality is preset to 95.
OPTIONS:
On the other menu options, zooming has been covered, moving field
allows movement without any magnification changed. Good if your desired
object goes off one side of the screen. Select this option and click
where you want center to be.
Fractal mode will move to the next mode, of Mandelbrot, Julia, or
Monster. The choices are not directly accessable, but will cycle,
and the current choice will be displayed in the status area.
Julia and Monster use the seed, although default will do, select
seed from menu, and click mouse on screen to set.
Palette is not fully implimented at this point either. It does offer
several choices of color scheme, and results can still be changed in
a paint program. Select this to step through the choices. Some will have
closely spaced colors, and will not show up 'shallow' brots well, others
have totally contrasting colors every few registers. The palettes are
calculated by constantly adding numbers to each component, and taking
the 8 least significant bits. This follows a sawtooth pattern, and
gives an appropriate look for this type of program. Do expect this area
to be enhanced in the future.
The maximum iteration count is set from the function keys. F1 is
16, f2=32. Recommended is F5 or 256. Higher numbers give more detail
but take longer, especially in black areas. F10 gives a maximal 8192
and each key is double the count of the one below it. F and D keys
move to Opal and Overlay displays respectively. S prints the status,
and the parameters are labelled. A will cause two lines to be rendered
in the OpalVision display when a zoom is done. This is to check align-
ment of the overlay. They should be concurrent, if a major difference
is seen, try adjusting the overscan in prefs. It has been fixed to
cover all settings but not fully tested.
LEGAL:
OpalBrot is copyright © 1993, Borotec, Inc. It is now freely
distributable provided all files and documentation in this archive is
kept intact and not modified. Distribution is especially encouraged
on the Opal support BBS, BIX, and Fred Fish. No liability is assumed
for any damage to data or hardware or any consequences arising out of
use of OpalBrot. This includes any negative health effects including,
but not limited to, epileptic seizures.
On this release (2.00) no set shareware fee is asked. Future versions
will be either shareware or commercial, but be econimically priced.
Users who do send a contribution over $5.00 will get a disk mailed to
them containing an updated version of OpalBrot, some other utilities, and
some nice JPEG pictures.
FUTURE PLANS: ( To-Do List)
This depends much on public response and support. Some of the
Items planned are:
- More Fractal modes. Suggestions accepted, algorithm must return
a point for each pixel, and be fed x and y double floating point
values. Other constants and variables may be used. I'd like to
see about eight in the next release.
- Better Palette control options.
- Fully impliment zoom out, right now it returns to default values,
may be accompanied by multiple undo or retrace levels.
- Optional use of 16 or 24 bit modes. Would be useful only on high
iteration work, and increase file and memory size.
- AGA version, port this to run on a 4000 or 1200 in 256 colors.
Will need a 4000 first, donations cheerfully accepted.
- Color Cycling.
- Possible smaller screen for 368x240 res for video.
- Path defining and batch processing for animations.
- With more power CPUs, real time rendering on small part of screen
controlled by joystick or mouse.
- User supplied ideas.
TRADEMARKS:
Lets acknowledge, support and salute some of the other fine products
associated with this file:
AMIGA IS A TRADEMARK OF COMMODORE-AMIGA, INC.
WORKBENCH " " " "
KICKSTART " " " "
68020,68030,68040, 68881,68882 ARE TRADEMARKS OF MOTOROLA, INC.
BARS & PIPES IS BY BLUE RIBBON SOUNDWORKS
OPALVISION AND LIBRARY BY OPAL TECHNOLOGY AND CENTAUR
AND RENDERER.C ORIGINALLY WRITTEN BY MARTIN BOYD THEREOF
DELUXE PAINT AGA BY ELECTRONIC ARTS
OpalBrot was compiled and this document edited with SAS Amiga C
Compiler V 6.2 by SAS Industries, Inc.
CONTACT:
For suggestions, questions, and bug reports, and contributions, contact
me either by using the OpalVision Support BBS ( JimB), or BIX ( jboros),
or by (paper) mail care of Borotec, PO Box 17149, Euclid, Ohio 44117.
Also, we have one commercial product out, MIDI Math that lets you
hear math equations and fractals played out in a musical composition.
only $29.95 PPD USA and Canada. A version for Bars & Pipes is being
developed and is in beta test. Also, we do contract programming on
Amiga, IBM compatibles, and on embedded controllers. Contact us about
your programming needs.
- Jim Boros, Borotec, Inc.